package com.jhy.suixianglu.shuangzhizhen.daima20230118;

/**
 * 请实现一个函数，把字符串 s 中的每个空格替换成"%20"。
 */
public class ReplaceSpace {
    public String replaceSpace(String s) {
        // 进行一种扩容后的数组的大小
        StringBuilder builder = new StringBuilder();
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == ' ') {
                builder.append("  ");
            }
        }
        // 定义前一个指针
        int left = s.length() - 1;
        /**
         * 一个指针指向的原数组的末尾
         * 例外一个指针指向的是扩容后的数组的末尾
         */
        // 定义后面一个指针
        s += builder;
        int right = s.length() - 1;
        // 开始循环进行判断
        // 因为要对字符进行操作 所以我们变为char数组
        char[] chars = s.toCharArray();
        /**
         * 以left大于等于0为止
         * 如果left当前的位置为空的话 就对right的位置进行赋值操作
         */
        while (left >= 0) {
            if (chars[left] == ' ') {
                chars[right--]  = '0';
                chars[right--] = '2';
                chars[right] = '%';
            } else {
                chars[right] = chars[left];
            }
            right--;
            left--;
        }
        return  new String(chars);
    }
}
